package org.zs.miracle.common.validate;

import jakarta.validation.Constraint;
import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.zs.miracle.common.validate.impl.EmailValidatorImpl;

/**
 * 验证邮箱，只能是邮箱格式
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(
    validatedBy = {EmailValidatorImpl.class}
)
public @interface ValidateEmail {
  String message() default "邮箱格式错误";
  
  /**
   * 验证参数是否为必须的
   */
  boolean required() default true;
  
  Class<?>[] groups() default {};
  
  Class<? extends Payload>[] payload() default {};
}